<?php
/**
 * Created by 无所谓已
 * User: Administrator
 * Date: 2025-10-06
 * Time: 15:32
 */

namespace plugin\csauto\app\model;

use plugin\admin\app\model\Base;

/**
 * @property integer $id         ID(主键)
 * @property string $customer_number NC客户编号
 * @property string $scp_password SCP密码
 * @property string $server_name 服务器名称
 * @property integer $status 状态 0-禁用 1-启用
 * @property string $notes 备注
 * @property integer $traffic_in 当月入站流量(GB)
 * @property integer $traffic_out 当月出站流量(GB)
 * @property integer $traffic_total 当月总流量(GB)
 * @property string $last_check_at 最后检查时间
 */
class NcServerModel extends Base
{
    /**
     * The table associated with the model.
     *
     * @var string
     */
    protected $table = 'cs_nc_servers';

    /**
     * The primary key associated with the table.
     *
     * @var string
     */
    protected $primaryKey = 'id';

    /**
     * 密码隐藏显示
     */
    public function getScpPasswordAttribute($value)
    {
        if (empty($value)) {
            return '';
        }
        return '••••••••';
    }

    /**
     * 设置密码（仅在新增或明确修改时使用）
     */
    public function setScpPasswordAttribute($value)
    {
        // 如果是空字符串或默认隐藏值，不更新密码
        if (empty($value) || $value === '••••••••') {
            return;
        }
        $this->attributes['scp_password'] = $value;
    }

    /**
     * 获取密码（编辑时显示隐藏值）
     */
    public function getScpPasswordForEdit()
    {
        return '••••••••';
    }

    /**
     * 获取真实的SCP密码（用于API调用）
     * @return string
     */
    public function getRealScpPassword()
    {
        return $this->getAttributeFromArray('scp_password') ?? '';
    }
}
